Platform Explorer / Nuxeo Platform 2023.22

Contribution org.nuxeo.ecm.webapp.pageproviders.contrib--providers

This contribution is part of XML component org.nuxeo.ecm.webapp.pageproviders.contrib inside nuxeo-platform-default-config-2023.22.13.jar /OSGI-INF/pageprovider-contrib.xml

Documentation

This contribution declares page providers used by UI components.

The page provider 'tree_children' is used to list children in the tree navigation.

Note the "ecm:isProxy = 0" predicate optimization that is required to simplify greatly the request performed by the tree manager when browsing on folders with a lot of files when using the Visible SQL Storage.

The page provider 'default_document_suggestion' is used by default by the component performing document suggestions.

Extension Point

Extension point providers of component PageProviderService.

Registration Order

15
The registration order represents the order in which this contribution was registered on its target extention point. This will impact the override/merge behaviour when it is implemented on the target service, and is useful for proper customization of existing contributions.
You can influence this order by adding "require" tags in the containing component declaration, to make sure it is resolved after another component (see "Resolution Order" on components).

Contributed Items

  • <coreQueryPageProvider name="tree_children">
          <property name="maxResults">PAGE_SIZE</property>
          <pattern>
            SELECT * FROM Document WHERE ecm:parentId = ? AND ecm:isProxy = 0 AND
            ecm:mixinType = 'Folderish' AND ecm:mixinType != 'HiddenInNavigation'
            AND ecm:isVersion = 0 AND ecm:isTrashed = 0
          </pattern>
          <sort ascending="true" column="ecm:pos"/>
          <sort ascending="true" column="dc:title"/>
          <pageSize>50</pageSize>
        </coreQueryPageProvider>
  • <coreQueryPageProvider name="default_document_suggestion">
          <property name="maxResults">PAGE_SIZE</property>
          <pattern escapeParameters="true" quoteParameters="false">
            SELECT * FROM Document WHERE ecm:fulltext LIKE '?*' AND ecm:mixinType !=
            'HiddenInNavigation' AND ecm:isVersion = 0 AND
            ecm:isTrashed = 0
          </pattern>
          <!-- sort column="dc:title" ascending="true" / sort by fulltext relevance -->
          <pageSize>5</pageSize>
        </coreQueryPageProvider>
  • <coreQueryPageProvider name="domain_documents">
          <property name="maxResults">DEFAULT_NAVIGATION_RESULTS</property>
          <pattern>
            SELECT * FROM Document WHERE ecm:path STARTSWITH ?
            AND ecm:mixinType != 'Folderish' AND ecm:mixinType !=
            'SystemDocument' AND ecm:mixinType !=
            'HiddenInNavigation' AND ecm:isVersion = 0 AND ecm:isProxy = 0
            AND ecm:isTrashed = 0
          </pattern>
          <sort ascending="false" column="dc:modified"/>
          <pageSize>5</pageSize>
        </coreQueryPageProvider>

XML Source

<extension point="providers" target="org.nuxeo.ecm.platform.query.api.PageProviderService">

    <documentation>
      This contribution declares page providers used by UI components.

      The page provider 'tree_children' is used to list children in the tree
      navigation.

      Note the "ecm:isProxy = 0" predicate optimization that is required to
      simplify greatly the request performed by the tree manager when browsing
      on folders with a lot of files when using the Visible SQL Storage.

      The page provider 'default_document_suggestion' is used by default by the
      component performing document suggestions.
    </documentation>

    <coreQueryPageProvider name="tree_children">
      <property name="maxResults">PAGE_SIZE</property>
      <pattern>
        SELECT * FROM Document WHERE ecm:parentId = ? AND ecm:isProxy = 0 AND
        ecm:mixinType = 'Folderish' AND ecm:mixinType != 'HiddenInNavigation'
        AND ecm:isVersion = 0 AND ecm:isTrashed = 0
      </pattern>
      <sort ascending="true" column="ecm:pos"/>
      <sort ascending="true" column="dc:title"/>
      <pageSize>50</pageSize>
    </coreQueryPageProvider>

    <coreQueryPageProvider name="default_document_suggestion">
      <property name="maxResults">PAGE_SIZE</property>
      <pattern escapeParameters="true" quoteParameters="false">
        SELECT * FROM Document WHERE ecm:fulltext LIKE '?*' AND ecm:mixinType !=
        'HiddenInNavigation' AND ecm:isVersion = 0 AND
        ecm:isTrashed = 0
      </pattern>
      <!-- sort column="dc:title" ascending="true" / sort by fulltext relevance -->
      <pageSize>5</pageSize>
    </coreQueryPageProvider>

    <coreQueryPageProvider name="domain_documents">
      <property name="maxResults">DEFAULT_NAVIGATION_RESULTS</property>
      <pattern>
        SELECT * FROM Document WHERE ecm:path STARTSWITH ?
        AND ecm:mixinType != 'Folderish' AND ecm:mixinType !=
        'SystemDocument' AND ecm:mixinType !=
        'HiddenInNavigation' AND ecm:isVersion = 0 AND ecm:isProxy = 0
        AND ecm:isTrashed = 0
      </pattern>
      <sort ascending="false" column="dc:modified"/>
      <pageSize>5</pageSize>
    </coreQueryPageProvider>

  </extension>